package cn.bdqn.mapper;

import cn.bdqn.domain.Registration;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RegistrationMapper {
    int insert(Registration record);

    int insertSelective(Registration record);

    /**
     * 查询全部挂号信息为预约的信息
     * @return
     */
    List<Registration> selectAll();

    /**
     * 根据挂号名查询挂号信息
     * @param regisName
     * @return
     */
    List<Registration> selectByRegisName(String regisName);

    /**
     * 添加挂号信息时判断数据库是否存在重复数据
     * @param id
     * @return
     */
    int  selectVerifyById(String id);

    /**
     * 根据id修改挂号状态
     * @param id
     * @return
     */
    int updateById(String id);

    /**
     * 根据id修改病人信息编号
     * @param id
     * @param menberId
     * @return
     */
    int updateMenberIdById(@Param("id") String id, @Param("menberId") Integer menberId);

    /**
     * 插入挂号信息
     * @param registration 挂号信息内容
     * @return
     */
    public int insertRegistration(Registration registration);

    /**
     * 根据用户openId查询用户挂号信息
     * @param openId
     * @return
     */
    public List<Registration> selectRegistrations(String openId);

    /**
     * 根据menberId修改支付状态
     * @param menberId
     * @return
     */
    int updateByMenberId(Integer menberId);

    /**
     * 根据menberId查询挂号信息
     * @param menberId
     * @return
     */
    Registration selectByMenberId(int menberId);
     /**
     * 根据主键和所挂科室查询挂号人员
     * @param id
     * @param deptId
     * @return
     */
    Registration selectByIDAndDeptID(@Param("id") String id,@Param("deptId")Integer deptId);

    List<Registration> selectByRegisDepartments(@Param("regisDepartments")Integer regisDepartments);

    /**
     * 根据phone指定查询挂号信息
     * @param phone
     * @return
     */
    Registration selectByPhone(String phone);

    /**
     * 根据id查询挂号信息
     * @param id
     * @return
     */
    Registration selectById(String id);

}